package com.xuecheng.base.standard;

import org.junit.jupiter.api.Test;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;

public class Client {

    /**
     * 建议21:用偶判断，不用奇判断
     */
    @Test
    public void testHandle() {
        int i = 1;
        if (i % 2 == 0) {
            System.out.println("该数值时偶数");
        }
    }

    /**
     * 建议22：用整数类型处理货币
     */
    @Test
    public void testHandleMoney() {
        //1.打印出来会是一个无限循环小数
        System.out.println(10.00 - 9.60);
        //2.使用DecimalFormat
        NumberFormat f = new DecimalFormat("#.00");
        System.out.println(f.format(10.00 - 9.60));
        //3.使用bigDecimal
        BigDecimal bigDecimal = new BigDecimal(10.00);
    }

    //光速是30万公里/秒，常量
    public static final int LIGHT_SPEED = 30 * 10000 * 1000;

    /**
     * 建议23:不要让类型默默准换
     */
    @Test
    public void testHandle2() {
        System.out.println("题目1：月亮光照射到地球需要1秒，计算月亮和地球的距离");
        long dis1 = LIGHT_SPEED * 1;
        System.out.println("月亮与地球的距离是：" + dis1 + "米");
        System.out.println("-------------------------------------------- ");
        System.out.println("题目2：太阳光照射到地球上需要8分钟，计算太阳到地球的距离。");
        //可能要超出整数范围，使用long型
        long dis2 = LIGHT_SPEED * 60 * 8;
        System.out.println("太阳与地球的距离是：" + dis2 + "米");
    }

    //一个会员拥有产品的最多数量
    public static final int LIMIT = 100;

    /**
     * 建议24：边界还是边界
     */
    @Test
    public void testLine() {
        int cur = 1000;
        System.out.println("请输出需要预定的数量：");
        int order = 10;
        if (order > 0 && order + cur <= LIMIT) {
            cur+=order;
            System.out.println("你已经成功预定的："+order+"个产品");
        }else{
            System.out.println("超过限额，预定时报");
        }
        }
    }


